package com.xunlai.infra.permission.business.dao.entity.vo;

import com.xunlai.infra.permission.business.dao.entity.RouteExtraIntro;
import com.xunlai.infra.permission.business.dao.entity.RouteInfo;
import com.xunlai.infra.permission.business.dao.entity.RouteIntroduction;
import com.xunlai.infra.permission.business.dao.entity.RouteSchedule;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.springframework.data.relational.core.mapping.MappedCollection;
import org.springframework.data.relational.core.mapping.Table;

import java.io.Serial;
import java.io.Serializable;
import java.util.List;

/**
 * @author liang
 * @date 8/17/23 9:29 PM
 */
@Table("travel_route_info")
@Data
@EqualsAndHashCode(callSuper = false)
@NoArgsConstructor
@AllArgsConstructor
public class RouteDetailInfoVo extends RouteInfo implements Serializable {

    @Serial
    private static final long serialVersionUID = -5624112276817106404L;

    @MappedCollection(idColumn = "route_Id", keyColumn = "id")
    private RouteIntroduction routeIntroduction;

    @MappedCollection(idColumn = "route_Id", keyColumn = "id")
    private RouteExtraIntro routeExtraIntro;

    @MappedCollection(idColumn = "route_Id", keyColumn = "id")
    private List<RouteSchedule> routeScheduleList;
}
